package cn.seaboot.admin.security.jwt;

import io.jsonwebtoken.Claims;
import org.springframework.security.core.Authentication;

/**
 * jwt 身份令牌
 * <p>
 * 将后台的身份令牌对象实例，转换成一段可供前端使用的 jwt 令牌；
 *
 * @author Mr.css
 * @version 2022-01-06 16:16
 * @see Authentication
 */
public interface AuthenticationJwt {

    /**
     * 生成token
     *
     * @param authentication 用户登录令牌
     * @return jwt
     */
    String encrypt(Authentication authentication);

    /**
     * 解析token
     *
     * @param jwt token
     * @return claims
     */
    Claims decrypt(String jwt);
}
